﻿using Gp.Scripts.Core;
using QFramework;
using TMPro;
using UnityEngine;

namespace Gp.Scripts.GUI {
    public class ResourceDisplayUI : DisplayWithUnitUI {
        [SerializeField] private TMP_Text reactionText;
        [SerializeField] private TMP_Text actionText;
        // [SerializeField] private GameObject iconPrefab;
        // [SerializeField] private Transform container;

        // [SerializeField] private TMP_Text thumbText;
        // [SerializeField] private GameObject thumbObject;
        // [SerializeField] private GameObject listObject;

        // [SerializeField] private BuffResourceItem buffItemPrefab;
        [SerializeField] private GameObject container;
        
        //
        //
        // private const int MaxIconCount = 4;
        // private const int MaxResourceBuffCount = 4;
        // private GameObject[] _icons;
        // private BuffResourceItem[] _buffItems;
        
        
        // private void Awake() {
        //     // _icons = new GameObject[MaxIconCount];
        //     // for (int i = 0; i < MaxIconCount; i++) {
        //     //     var obj = Instantiate(iconPrefab, container);
        //     //     obj.SetActive(false);
        //     //     _icons[i] = obj;
        //     // }
        //
        //     // _buffItems = new BuffResourceItem[MaxResourceBuffCount];
        //     // for (int i = 0; i < MaxResourceBuffCount; i++) {
        //     //     var obj = Instantiate(buffItemPrefab, buffItemContainer);
        //     //     _buffItems[i] = obj;
        //     //     obj.Hide();
        //     // }
        // }
        //
        // private void Update() {
        //     if (CurrentUnit == null) {
        //         ClearUp();
        //         return;
        //     }
        //
        //     var resource = CurrentUnit.ComCost;
        //     reactionText.text = resource.GetResource(CostField.Reaction).ToString();
        //     actionText.text = resource.GetResource(CostField.ActionTime).ToString();
        //     container.Show();
        // }
        
        
        
        
        // private void RenderBuffResource(BaseUnit unit) {
        //     if (unit == null) return;
        //     int i = 0;
        //     foreach (var resourceBuff in unit.BuffHolder.Buffs.Where(x => x is IResourceBuff)) {
        //         if (i >= _buffItems.Length) break;
        //         _buffItems[i++].Render(resourceBuff);
        //     }
        //
        //     for (; i < _buffItems.Length; i++) {
        //         _buffItems[i].Hide();
        //     }
        // }
        //
        //
        //
        //
        // private void ShowList(int point) {
        //     for (int i = 0; i < _icons.Length; i++) {
        //         _icons[i].SetActive(i < point);
        //     }
        // }
        //
        // private void ShowThumb(int point) {
        //     thumbText.text = point.ToString();
        // }


        private void ClearUp() {
            container.SetActive(false);
            // listObject.SetActive(false);
            // resourceText.gameObject.SetActive(false);
        }

    }
}